/**
 * 时间过滤器
 */
export const formatDate = function (date, fmt = 'YYYY-MM-DD HH:mm:ss') {
  if(!date){
    return ''
  }
  if (typeof date === 'string') {
    date = new Date(date.replace(/-/g, '/'))
  }
  if (typeof date === 'number') {
    date = new Date(date)
  }
  var o = {
    'M+': date.getMonth() + 1,
    'D+': date.getDate(),
    'h+': date.getHours() % 12 === 0 ? 12 : date.getHours() % 12,
    'H+': date.getHours(),
    'm+': date.getMinutes(),
    's+': date.getSeconds(),
    'q+': Math.floor((date.getMonth() + 3) / 3),
    'S': date.getMilliseconds()
  }
  var week = {
    '0': '\u65e5',
    '1': '\u4e00',
    '2': '\u4e8c',
    '3': '\u4e09',
    '4': '\u56db',
    '5': '\u4e94',
    '6': '\u516d'
  }
  if (/(Y+)/.test(fmt)) {
    fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
  }
  if (/(E+)/.test(fmt)) {
    fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? '\u661f\u671f' : '\u5468') : '') + week[date.getDay() + ''])
  }
  for (var k in o) {
    if (new RegExp('(' + k + ')').test(fmt)) {
      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
    }
  }
  return fmt
}

/**
 * 大写
 * */
export const uppercase = function (value) {
  return value.toUpperCase();
}
/**
 * 截取字符
 * */
export const substring = function (value,index) {
  return value&&value.substring(0,index);
}
/**
 * 截取名字
 * */
export const subName = function (value) {
  let name='';
  if(value && /[\u4E00-\u9FA5\uF900-\uFA2D]/.test(value)){
    if(value.length>3){
      name=value.substring(value.length-2,value.length);
    }else if(value.length==3){
      name=value.substring(1,value.length);
    }else{
      name=value;
    }
  }else{
    name='系统'
  }
  return name;
}
/**
 * 数组变字符串
 * */
export const changeArrayToStr=(arr,symbol,key)=>{
  var str='',symbol=symbol||','
  if(key){
    for(var i=0;i<arr.length;i++){
      str+=i==arr.length-1?arr[i][key]:arr[i][key]+symbol;
    }
  }else{
    for(var i=0;i<arr.length;i++){
      str+=i==arr.length-1?arr[i]:arr[i]+symbol;
    }
  }
  return str;
}
/**
 * 任务状态
 * */
export const getTaskState=(val)=>{
  let text='';
  if(val){
    switch (val){
      case 40:
        text='未派工';
        break;
      case 50:
        text='执行中';
        break;
      case 51:
        text='暂结中';
        break;
      case 60:
        text='待确认';
        break;
      case 70:
        text='已完成';
        break;
      default:
        break;
    }
  }
  return text;
}
